home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
SNNSV32.ZIP
/
SNNSv3.2
/
kernel
/
sources
/
strdup.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-04-25
|
1KB
|
65 lines
/*****************************************************************************
FILE : strdup.c
SHORTNAME :
SNNS VERSION : 3.2
PURPOSE : System V Library Function strdup.
NOTES : The strdup function is missing in the ULTRIX-32 operating system
environment.
AUTHOR : Niels Mache
DATE : 30.07.90
CHANGED BY : Sven Doering
IDENTIFICATION : @(#)strdup.c 1.11 3/15/94
SCCS VERSION : 1.11
LAST CHANGE : 3/15/94
Copyright (c) 1990-1994 SNNS Group, IPVR, Univ. Stuttgart, FRG
******************************************************************************/
#ifndef ultrix
#include <stdlib.h>
#include <string.h>
#include <memory.h>
#ifndef strdup
#define strdup bsd_strdup
#endif
#else
#ifdef ultrix
/* DEC's pseudo ansi C-compiler doesn't understand const */
# define const
#endif
#include <stdlib.h>
#include <sys/types.h>
#include <stddef.h>
#include <string.h>
#include <memory.h>
#include "strdup.ph"
char *strdup(const char *str )
{
int len;
char *copy;
len = strlen( str ) + 1;
#ifdef __BORLANDC__
if (!(copy = malloc((size_t)len)))
return((char *)NULL);
memcpy(copy, str, (size_t)len);
#else
if (!(copy = malloc((unsigned int)len)))
return((char *)NULL);
bcopy(str, copy, len);
#endif
return(copy);
}
#endif